1. Field of the Invention
The present invention relates to a region determination device for a slice model, a three-dimensional printing system, and a region determination method for a slice model.
2. Description of the Related Art
Conventionally, a three-dimensional printing device that prints a three-dimensional printing object is known. This type of three-dimensional printing device uses, for example, a computer-aided design device (CAD device) to create data of a three-dimensional model, which is usable to print a three-dimensional printing object (see, for example, Japanese PCT National-Phase Patent Publication No. 2003-535712). The three-dimensional model is sliced at a predetermined interval to create data of a slice model corresponding to a cross-sectional shape of the three-dimensional printing object. The three-dimensional printing device sequentially stacks resin material objects each having a cross-sectional shape corresponding to the data of the slice model while curing the resin material, and thus prints a desired three-dimensional printing object.
FIG. 8A is a plan view of a three-dimensional printing object A100. FIG. 8B is a side view of the three-dimensional printing object A100. The three-dimensional printing object A100 has a shape including two cylindrical objects having different diameters stacked in an up-down direction. The three-dimensional printing object A100 has a central part thereof cut out as seen in the plan view. FIG. 9 shows a slice model SM100 obtained as a result of slicing the three-dimensional printing object A100 at a position PT100 shown in FIG. 8B. In each of FIG. 8A, FIG. 8B and FIG. 9, the hatched region is a printing region. The slice model SM100 is defined by contours representing the shape of the three-dimensional printing object A100. The contours include, for example, a contour L101 representing an outer profile of the printing region of the three-dimensional printing object A100 and a contour L102 representing the shape of a hole in the three-dimensional printing object A100. In the following description, a contour representing an outer profile of a three-dimensional printing object will be referred to as an “island contour”, and a contour representing the shape of a hole in a three-dimensional printing object will be referred to as a “hole contour”.
In FIG. 9, a region D101 between the island contour L101 and the hole contour L102 is a printing region. A region D102 inner to the hole contour L102 represents the hole. The region D102 is a non-printing region, which is not to be printed.
In, for example, the slice model SM100, an advancing direction is set for each of the contours L101 and L102 in order to distinguish whether each of the contours L101 and L102 is an island contour or a hole contour. For example, the advancing direction of the island contour L101 is set to a clockwise direction. The advancing direction of the hole contour L102 is set to a counterclockwise direction. A computer determines whether a contour is an island contour or a hole contour based on the advancing direction of the contour.
The computer sets a straight scanning line SL100 that crosses the contours L101 and L102 and is to be scanned in a predetermined direction (e.g., in FIG. 9, in the left-to-right direction) in order to divide the region of the slice model SM100 into a printing region and a non-printing region. Also in the computer, a variable n (herein, referred to as an “internal level n”) is set that is usable to divide the region of the slice model SM100 into a printing region and a non-printing region. For example, the internal level n has an initial value of “0”. When the scanning line SL100 is scanned in a predetermined direction and crosses the contours L101 and L102, the computer determines in which direction the contours L101 and L102 cross the scanning line SL100. In this example, when the contour crosses the scanning line SL100 in a first direction (in FIG. 9, in the bottom-to-top direction), the value of the internal level n is increased by “1”. By contrast, when the contour crosses the scanning line SL100 in a second direction (in FIG. 9, in the top-to-bottom direction) opposite to the first direction, the value of the internal level n is decreased by “1”. In the case of the slice model SM100 shown in FIG. 9, the value of the internal level n is increased by “1” at intersections P101 and P103. The value of the internal level n is decreased by “1” at intersections P102 and P104. The computer determines a region corresponding to a value of the internal level n that is not “0” (in FIG. 9, region D101) to be a printing region. The computer determines a region corresponding to the value of the internal level n that is “0” (in FIG. 9, region D102) to be a non-printing region.
FIG. 10 shows a slice model SM110 obtained as a result of slicing the three-dimensional printing object A100 at a position PT110 shown in FIG. 8B. In FIG. 8B, the position PT110 is a border between the two cylindrical objects included in the three-dimensional printing object A100. Therefore, the slice model SM110 shown in FIG. 10 includes an island contour L111 representing a profile of a top end of the lower cylindrical object and an island contour L112 representing a profile of a bottom end of the upper cylindrical object. In FIG. 10, the hatched regions are printing regions. In FIG. 10, the island contour L112 is provided between the island contour L111 and a hole contour L113. In the slice model SM110, a region D111 between the island contour L111 and the island contour L112, and a region D112 between the island contour L112 and the hole contour L113, each of them is a printing region. By contrast, a region D113 inner to the hole contour L113 is a non-printing region.
The computer sets a scanning line SL110 crossing the contours of the slice model SM110. The computer causes the scanning line SL110 to be scanned to change the value of the internal level n, and thus divides the region of the slice model SM110 into a printing region and a non-printing region. In this process, the internal level n is increased by “1” at each of intersections P111 and P112. As a result, the value of the internal level n is “2” at the intersection P112. At an intersection P113, the value of the internal level n is decreased by “1”. As a result, the value of the internal level n is “1”. In the same manner, the value of the internal level n is “2” at an intersection P114. At an intersection P115, the value of the internal level n is “1”. At an intersection P116, the value of the internal level n is “0”.
The computer determines a region corresponding to the value of the internal level n that is “0” to be a non-printing region. As described above, in the slice model SM110, the region D113 should be a non-printing region. However, the value of the internal level n corresponding to the region D113 is “1”, and therefore, the computer may undesirably determine that the region D113 is a printing region.